package com.hibase.core.page.entity.modulexml;


import com.hibase.core.page.entity.modulexml.vo.ModuleShowColumnVO;
import com.hibase.core.page.entity.window.ParamsXmlVo;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import lombok.Data;

import java.util.List;

/**
 * 描述:
 *
 * @author li-wei-hua
 * @date 2021-04-25 10:05
 */
@Data
public class ModuleCallSelectXmlVO {

	@XStreamAsAttribute
	@XStreamAlias("dataIndex")
	private String dataIndex;

	@XStreamAsAttribute
	@XStreamAlias("title")
	private String title;

	@XStreamAsAttribute
	@XStreamAlias("requestUrl")
	private String requestUrl;

	@XStreamAsAttribute
	@XStreamAlias("key")
	private String key;

	@XStreamAsAttribute
	@XStreamAlias("value")
	private String value;

	@XStreamAsAttribute
	@XStreamAlias("showLines")
	private String showLines;

	@XStreamAsAttribute
	@XStreamAlias("readyOnly")
	private Boolean readyOnly;

	@XStreamAsAttribute
	@XStreamAlias("required")
	private Boolean required;

	@XStreamAsAttribute
	@XStreamAlias("row")
	private Integer row;

	@XStreamAsAttribute
	@XStreamAlias("col")
	private Integer col;

	@XStreamAsAttribute
	@XStreamAlias("span")
	private Integer span;

	@XStreamOmitField
	private List<ModuleShowColumnVO> columns;

	@XStreamAsAttribute
	@XStreamAlias("selectValue")
	private String selectValue;

	@XStreamAsAttribute
	@XStreamAlias("showColumns")
	private String showColumns;
	
	//想要显示的列
	@XStreamAsAttribute
	@XStreamAlias("showName")
	private String showName;
	
	@XStreamAsAttribute
	@XStreamAlias("param")
	private String param;

	@XStreamAsAttribute
	@XStreamAlias("showTitles")
	private String showTitles;

	/**
	 * 级联
	 */
	@XStreamAlias("childs")
	private ModuleChildrensXmlVo childs;
	
	@XStreamAlias("params")
	private ParamsXmlVo params;
	
	/**
	 * 默认值
	 */
	@XStreamAsAttribute
	@XStreamAlias("defaultValue")
	private String defaultValue;
	
	/**
	 * 最大长度
	 */
	@XStreamAsAttribute
	@XStreamAlias("maxLength")
	private Integer maxLength;
	
	/**
	 * 提示
	 */
	@XStreamAsAttribute
	@XStreamAlias("placeholder")
	private String placeholder;
	
	/**
	 * 支持多选
	 */
	@XStreamAsAttribute
	@XStreamAlias("multi")
	private Boolean multi;
	
	/**
	 * 多选tag最大长度
	 */
	@XStreamAsAttribute
	@XStreamAlias("maxTagCount")
	private Integer maxTagCount;
	
	/**
	 * 远程下拉支持--参数传递
	 */
	@XStreamAsAttribute
	@XStreamAlias("paramsKey")
	private String paramsKey;
	
	/**
	 * text支持设值和刷新(隐藏组件)操作
	 */
	@XStreamAlias("UIEvents")
	private ModuleUIEventsXmlVo uiEvents;
}